package net.suplementos.web.action;

import net.suplementos.negocio.ControleDelegate;
import net.suplementos.pojo.BaixaProduto;
import net.suplementos.pojo.Estoque;
import net.suplementos.pojo.Lote;
import net.suplementos.pojo.Produto;
import net.suplementos.servico.ControleServico;
import net.suplementos.web.LocalConstantes;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.InterceptorRefs;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;

import com.opensymphony.xwork2.ActionSupport;

@Namespace("/baixarEstoque")
@InterceptorRefs({
	@InterceptorRef(value = "store", params = {"operationMode", "AUTOMATIC"}),
	@InterceptorRef("defaultStack")
})
public class BaixarProdutoEstoqueAction extends ActionSupport {
	
	private BaixaProduto baixaProduto;
	private ControleServico controleServico = ControleDelegate.getInstance();

	@Action(value = "abrirBaixar", results = {
		@Result(name = SUCCESS, location = LocalConstantes.LOCAL_JSP_CONTROLE_BAIXAR_ESTOQUE + "/baixar.jsp") 
	})
    public String abrirBaixar() throws Exception {
        return SUCCESS;
    }

	@Action(value = "baixar", results = {
		@Result(name = SUCCESS, params = {
			"actionName", "pesquisar", 
			"namespace", "/pesquisarProduto"}
		, type = "redirectAction"),
	})
	public String baixar() throws Exception {
		controleServico.efetuarBaixaProduto(baixaProduto);
		return SUCCESS;
	}

	public BaixaProduto getBaixaProduto() {
		return baixaProduto;
	}

	public void setBaixaProduto(BaixaProduto baixaProduto) {
		this.baixaProduto = baixaProduto;
	}
}
